package cn.iocoder.yudao.module.wine.controller.app.leaveinfo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

@Schema(description = "用户 APP - 发布离职通告 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppLeaveInfoRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14351")
    @ExcelProperty("主键ID")
    private Integer id;

    @Schema(description = "用户id", example = "28048")
    @ExcelProperty("用户id")
    private Long userId;

    @Schema(description = "信息名称", example = "李四")
    @ExcelProperty("信息名称")
    private String infoName;

    @Schema(description = "姓名", example = "王五")
    @ExcelProperty("姓名")
    private String realName;

    @Schema(description = "身份证")
    @ExcelProperty("身份证")
    private String idCard;

    @Schema(description = "性别")
    @ExcelProperty("性别")
    private String sex;

    @Schema(description = "出生日期")
    @ExcelProperty("出生日期")
    private String birthday;

    @Schema(description = "年龄")
    @ExcelProperty("年龄")
    private Integer age;

    @Schema(description = "单图")
    @ExcelProperty("单图")
    private String image;

    @Schema(description = "多图")
    @ExcelProperty("多图")
    private String images;

    @Schema(description = "描述", example = "你说的对")
    @ExcelProperty("描述")
    private String description;

    @Schema(description = "置顶")
    @ExcelProperty("置顶")
    private Integer isTop;

    @Schema(description = "排序")
    @ExcelProperty("排序")
    private Integer sort;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime createTime;

    @Schema(description = "审核中 0  审核通过1  审核拒绝2", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("审核中 0  审核通过1  审核拒绝2")
    private Integer audit;

    @Schema(description = "用户昵称")
    private String nickname;

    @Schema(description = "用户头像")
    private String avatar;

    @Schema(description = "信用等级", example = "1")
    private Integer level;

    @Schema(description = "信用等级图标", example = "1")
    private String icon;

    @Schema(description = "会员类型名称", example = "1")
    private String memberTypeName;

    @Schema(description = "会员类型图标", example = "1")
    private String memberTypeIcon;

    @Schema(description = "是否认证", example = "1")
    private Integer isAuth;

    @Schema(description = "关注状态 0取消关注  1关注", example = "1")
    private Integer subscribeStatus;

    @Schema(description = "地区id", example = "1")
    private Integer areaId;

    @Schema(description = "地区名称", example = "1")
    private String areaName;

    @Schema(description = "浏览量", example = "1")
    private Long viewCount;

    @Schema(description = "用户地区id", example = "28048")
    private Integer userAreaId;

    @Schema(description = "用户地区名称", example = "28048")
    private String userAreaName;

    @Schema(description = "公司", example = "28048")
    private String company;

    @Schema(description = "个人简介", example = "我的介绍")
    private String mark;

    /**
     * 商家信用等级，关联business_credit表信用等级level值
     * 入驻商家--1,认证商家--2,商家团长--3,个人团长--4，保证金用户--5
     */
    @Schema(description = "商家信用等级", example = "1")
    private Integer creditId;

    @Schema(description = "信用等级名称", example = "信用等级名称")
    private String creditName;

    @Schema(description = "保证金内容", example = "1.5W")
    private String bondName;
}
